home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / RadialGradientPaint.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.9 KB  |  88 lines

  1. package java.awt;
  2.  
  3. import java.awt.MultipleGradientPaint.ColorSpaceType;
  4. import java.awt.MultipleGradientPaint.CycleMethod;
  5. import java.awt.geom.AffineTransform;
  6. import java.awt.geom.Point2D;
  7. import java.awt.geom.Rectangle2D;
  8. import java.awt.image.ColorModel;
  9.  
  10. public final class RadialGradientPaint extends MultipleGradientPaint {
  11.    private final Point2D focus;
  12.    private final Point2D center;
  13.    private final float radius;
  14.  
  15.    public RadialGradientPaint(float var1, float var2, float var3, float[] var4, Color[] var5) {
  16.       this(var1, var2, var3, var1, var2, var4, var5, CycleMethod.NO_CYCLE);
  17.    }
  18.  
  19.    public RadialGradientPaint(Point2D var1, float var2, float[] var3, Color[] var4) {
  20.       this(var1, var2, var1, var3, var4, CycleMethod.NO_CYCLE);
  21.    }
  22.  
  23.    public RadialGradientPaint(float var1, float var2, float var3, float[] var4, Color[] var5, MultipleGradientPaint.CycleMethod var6) {
  24.       this(var1, var2, var3, var1, var2, var4, var5, var6);
  25.    }
  26.  
  27.    public RadialGradientPaint(Point2D var1, float var2, float[] var3, Color[] var4, MultipleGradientPaint.CycleMethod var5) {
  28.       this(var1, var2, var1, var3, var4, var5);
  29.    }
  30.  
  31.    public RadialGradientPaint(float var1, float var2, float var3, float var4, float var5, float[] var6, Color[] var7, MultipleGradientPaint.CycleMethod var8) {
  32.       this(new Point2D.Float(var1, var2), var3, new Point2D.Float(var4, var5), var6, var7, var8);
  33.    }
  34.  
  35.    public RadialGradientPaint(Point2D var1, float var2, Point2D var3, float[] var4, Color[] var5, MultipleGradientPaint.CycleMethod var6) {
  36.       this(var1, var2, var3, var4, var5, var6, ColorSpaceType.SRGB, new AffineTransform());
  37.    }
  38.  
  39.    public RadialGradientPaint(Point2D var1, float var2, Point2D var3, float[] var4, Color[] var5, MultipleGradientPaint.CycleMethod var6, MultipleGradientPaint.ColorSpaceType var7, AffineTransform var8) {
  40.       super(var4, var5, var6, var7, var8);
  41.       if (var1 == null) {
  42.          throw new NullPointerException("Center point must be non-null");
  43.       } else if (var3 == null) {
  44.          throw new NullPointerException("Focus point must be non-null");
  45.       } else if (var2 <= 0.0F) {
  46.          throw new IllegalArgumentException("Radius must be greater than zero");
  47.       } else {
  48.          this.center = new Point2D.Double(var1.getX(), var1.getY());
  49.          this.focus = new Point2D.Double(var3.getX(), var3.getY());
  50.          this.radius = var2;
  51.       }
  52.    }
  53.  
  54.    public RadialGradientPaint(Rectangle2D var1, float[] var2, Color[] var3, MultipleGradientPaint.CycleMethod var4) {
  55.       this(new Point2D.Double(var1.getCenterX(), var1.getCenterY()), 1.0F, new Point2D.Double(var1.getCenterX(), var1.getCenterY()), var2, var3, var4, ColorSpaceType.SRGB, createGradientTransform(var1));
  56.       if (var1.isEmpty()) {
  57.          throw new IllegalArgumentException("Gradient bounds must be non-empty");
  58.       }
  59.    }
  60.  
  61.    private static AffineTransform createGradientTransform(Rectangle2D var0) {
  62.       double var1 = var0.getCenterX();
  63.       double var3 = var0.getCenterY();
  64.       AffineTransform var5 = AffineTransform.getTranslateInstance(var1, var3);
  65.       var5.scale(var0.getWidth() / (double)2.0F, var0.getHeight() / (double)2.0F);
  66.       var5.translate(-var1, -var3);
  67.       return var5;
  68.    }
  69.  
  70.    public PaintContext createContext(ColorModel var1, Rectangle var2, Rectangle2D var3, AffineTransform var4, RenderingHints var5) {
  71.       var4 = new AffineTransform(var4);
  72.       var4.concatenate(this.gradientTransform);
  73.       return new RadialGradientPaintContext(this, var1, var2, var3, var4, var5, (float)this.center.getX(), (float)this.center.getY(), this.radius, (float)this.focus.getX(), (float)this.focus.getY(), this.fractions, this.colors, this.cycleMethod, this.colorSpace);
  74.    }
  75.  
  76.    public Point2D getCenterPoint() {
  77.       return new Point2D.Double(this.center.getX(), this.center.getY());
  78.    }
  79.  
  80.    public Point2D getFocusPoint() {
  81.       return new Point2D.Double(this.focus.getX(), this.focus.getY());
  82.    }
  83.  
  84.    public float getRadius() {
  85.       return this.radius;
  86.    }
  87. }
  88.